﻿@using System.Collections
@using Telerik.Web.Mvc.UI
@using Helena.Areas.Productos.Models
@using Helena.Areas.Configuraciones.Models
@using Helena.Areas.Categorias.Models
@model ProductoView

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
        
@{
    ViewBag.Title = "Sub Productos";
    Layout = "~/Views/Shared/_Layout.cshtml";
    List<ProductoView> productos = (List<ProductoView>)ViewData["Productos"];
    Producto producto = (Producto)ViewData["Producto"];// producto al que se le cargara Subproductos
  
}

@Html.Telerik().ScriptRegistrar().Globalization(true)


<style type="text/css">
    .t-window
    {
        width: 500px;
    }
</style>

<script type="text/javascript">
    var categoriaID;
    function onRowSelected(e) {
        var ordersGrid = $('#Productos').data('tGrid');
        categoriaID = e.row.cells[0].innerHTML;

        // update ui text
        $('#categoriaID').text(categoriaID);
        // rebind the related grid
        ordersGrid.rebind();
    }
    function onDataBinding(e) {
        e.data = $.extend(e.data, { categoriaID: categoriaID });
    }
</script> 

<div class="block big">
    <!-- Block Begin -->
<table style="width:100%">
    <tr>
    <td> <!--Datos del comproducto compuesto -->
        <table>
            <tr>
                <th>Producto Compuesto:</th>
                <td>@Model.Descripcion</td>
            </tr>
            <tr>
                <th>Unidad:</th>
                <td>@( Html.Telerik().ComboBox().Name("unidadID").AutoFill(true).SelectedIndex(Model.unidadID).BindTo(new SelectList((ICollection<UnidadView>)ViewData["Unidades"],"ID","Descripcion")).HtmlAttributes(new { style = string.Format("width:{0}px",100) }).HighlightFirstMatch(true).OpenOnFocus(true))</td>
            </tr>
            <tr>
                <th>Estado:</th>
                <td>@(Model.Estado ? "Activo" : "No Activo")</td>
            </tr>
            <tr>    
                <th>Precio de Fabrica:</th>
                <td>S/. @Model.preciofabrica</td>
            </tr>    
            <tr>
                <th>Precio de Venta:</th>
                <td>S/. @Model.precioventa</td>
            </tr>
            <tr>
                <th>Cantidad:</th>
                <td>@Model.cantidad</td>
            </tr>
        </table>
    </td>
    
    <td>
    <div class="block_cont">
        <div>
        <h3>Categorias</h3>
        @(Html.Telerik().Grid((IEnumerable<CategoriaView>)ViewData["Categorias"])
        .Name("Categorias")
        .Columns(columns =>
        {
            columns.Bound(c => c.ID);
            columns.Bound(c => c.NombreCategoria);
        })
        .DataBinding(dataBinding => dataBinding.Ajax().Select("_Selection_Categoria", "Productos"))
        .Pageable()
        .Sortable()
        .Selectable()
        .ClientEvents(events => events.OnRowSelect("onRowSelected"))
        .RowAction(row => 
        {
            row.Selected = row.DataItem.ID.Equals(ViewData["id"]);
        })      
        )
    </div> 
    </td>
    
    <td>
    <h3>Productos (<span id="CategoriaID">@ViewData["id"] </span>)</h3>
    @(Html.Telerik().Grid((IEnumerable<Helena.Areas.Productos.Models.DetalleProductoView>)ViewData["DetalleProducto"])
            .Name("Productos")
            .Columns(columns=>
            {
                columns.ForeignKey(c => c.ID, (IEnumerable)ViewData["Productos"], "ID", "Descripcion").Width(100);
                columns.Bound(c => c.Cantidad);
                columns.Bound(c => c.PrecioVenta).Format("{0:c}");
                
            })
                            .DataBinding(dataBinding => dataBinding.Ajax().Select("_Selection_Producto", "Productos", new { categoriaID = "1" }))
            .ClientEvents(clientEvents => clientEvents.OnDataBinding("onDataBinding"))
            .Pageable()
            .Sortable()
        
    )
    </td>
    
    </tr>
</table>

        
     @*   @(Html.Telerik().Grid<DetalleProductoView>(Model)
            .Name("ProductosGrid")
            .Localizable("es-ES")
            .Filterable()
            .Editable(editing => editing.Mode(GridEditMode.InLine))
            .DataKeys(key => key.Add(p => p.ID))
                .Editable(editing => editing
                    .Mode(GridEditMode.PopUp)
                    .TemplateName("CopiadeSubProductos")
            )
            .Columns(columns =>
                {
                    columns.ForeignKey(p => p.ProductoSID, (System.Collections.IEnumerable)ViewData["Productos"], "ID", "Descripcion").Width(400);
                    columns.Bound(p => p.Cantidad).Width(80);
                    columns.Bound(p => p.PrecioVenta).Width(80).Format("{0:S/ ###,###.##}").Width(100);
                    columns.ForeignKey(p => p.UnidadID, (System.Collections.IEnumerable)ViewData["Unidades"], "ID", "descripcion").Width(100);
                    columns.Bound(p => p.Estado).Width(80).Width(100);
                    columns.Command(commands =>
                        {
                            commands.Edit().ButtonType(GridButtonType.Image);
                            commands.Delete().ButtonType(GridButtonType.Image);
                        });
                })
                .Pageable()
                .Sortable()
                .DataBinding(dataBinding => dataBinding
                    .Ajax()
                    .Select("SelectProductos", "Producto", new { ProductoID = @producto.ID })
                    .Insert("InsertProductos", "Producto", new { ProductoID = @producto.ID })
                    .Delete("DeleteProductos", "Producto", new { ProductoID = @producto.ID })
                    .Update("UpdateProductos", "Producto", new { ProductoID = @producto.ID })
                )
           )*@
</div>
